﻿#ifndef _EASY_IOCP_SERVER_H_
#define _EASY_IOCP_SERVER_H_

#ifdef _WIN32

#include "EasyTcpServer.h"

class EasyIOCPServer : public EasyTcpServer
{
public:
	void Start(int nCELLServer);
private:
	// 处理网络消息
	virtual void OnRun(CELLThread* pthread) override;
	/*
		接收客户端连接
		? 为什么IOCP要自己写一个接收新连接的函数
			: IOCP与select和epoll的机制不同，后两者是提醒可以接收连接，
				前者(IOCP)是已经连接上了再通知已经连接
	*/
	SOCKET IocpAccept(SOCKET cSock);
};

#endif // #ifdef _WIN32

#endif
